<?php

namespace dragon;

class SysConfig
{
    // 文章类型
    const TYPE_GUIDE = 3;
    const TYPE_LOST = 4;

    // 时间标签
    public static $timeTags = [
        'today' => '今天',
        'yesterday' => '昨天',
        'before_yesterday' => '前天',
        'thisweek' => '本周',
        'lastweek' => '上周',
        'thismonth' => '本月',
        'lastmonth' => '上个月',
        'thisyear'  => '今年',
        'lastyear'  => '去年',
    ];

    // 获取时间区间
    public static function timeTagRange($timeTag) {
        switch($timeTag) {
            case 'today':	// 今天
                return array(strtotime('today'), strtotime('today') + 86399);
                break;
            case 'oneday':	// 一天内
                return array(time() - 86400, strtotime('today') + 86399);
                break;
            case 'yesterday':	// 昨天
                return array(strtotime(date('Y-m-d', strtotime('yesterday'))), strtotime('today') - 1);
                break;
            case 'before_yesterday': // 前天
                return array(strtotime(date('Y-m-d', strtotime('yesterday'))) - 86400, strtotime('today') - 86401);
                break;
            case 'twodays':	// 2天内
                return array(time() - 86400*2, strtotime('today') + 86399);
                break;
            case 'threedays':	// 3天内
                return array(time() - 86400*3, strtotime('today') + 86399);
                break;
            case 'week':	// 一个星期内
                return array(time() - 86400*7, strtotime('today') + 86399);
                break;
            case 'twoweeks':	// 2个星期内
                return array(time() - 86400*14, strtotime('today') + 86399);
                break;
            case 'thisweek':	// 本周
                $start = strtotime(date('Y-m-d', time() - (date('w') - 1)*86400));
                return array($start, $start + 7 * 86400 - 1);
                break;
            case 'lastweek':	// 上周
                return array(strtotime(date('Y-m-d', strtotime('-1 week') - (date('w') - 1)*86400)), strtotime(date('Y-m-d', time() - (date('w') - 1)*86400)) - 1);
                break;
            case 'before_lastweek':	// 上上周
                return array(strtotime(date('Y-m-d', strtotime('-2 week') - (date('w') - 1)*86400)), strtotime(date('Y-m-d', strtotime('-1 week') - (date('w') - 1)*86400)) - 1);
                break;
            case 'month':	// 一个月内
                return array(strtotime(date('Y-m-d', strtotime('-1 month'))), strtotime('today') + 86399);
                break;
            case 'twomonths':	// 2个月内
                return array(strtotime(date('Y-m-d', strtotime('-2 month'))), strtotime('today') + 86399);
                break;
            case 'thismonth':	// 本月
                return array(strtotime(date('Y-m-01')), strtotime(date('Y-m-01', strtotime('next month'))) - 1);
                break;
            case 'lastmonth':	// 上个月
                return array(strtotime(date('Y-m-01', strtotime('-1 month'))), strtotime(date('Y-m-01')) - 1);
                break;
            case 'before_lastmonth':	// 上个月
                return array(strtotime(date('Y-m-01', strtotime('-2 month'))), strtotime(date('Y-m-01', strtotime('-1 month'))) - 1);
                break;
            case 'year':	// 一年内
                return array(strtotime(date('Y-m-d', strtotime('-1 year'))), strtotime('today') + 86399);
            case 'thisyear': // 今年
                return array(strtotime(date('Y-01-01')), strtotime(date('Y-01-01', strtotime('next year'))) - 1);
                break;
            case 'lastyear':	// 去年
                return array(strtotime(date('Y-01-01', strtotime('-1 year'))), strtotime(date('Y-01-01')) - 1);
                break;
        }
    }
}
